Logo Home Description Download Files History Contact
 

NOTE: This is the anecdotal history of PyRunner, not the revision history.

PyRunner was written as an experimental project in order to evaluate the pygame toolkit for possible use in a much larger project. Usually, the best way to learn a new programming language or toolkit is to write a small (but preferrably useful) program with it, and PyRunner is simply the result of that wisdom. In this case, I thought it might be fun and/or useful for others (what with pygame being a relatively new invention) so I'm releasing it publically.

(Don't ask me about the larger project, please. It's nothing earth shattering, but it won't be finished for a while (if indeed at all). It will be an open source project, so I'll announce it when I have something substantial.)

I've long been a fan of the classic game Lode Runner. I used to play it on my old Atari 800XL as a kid. It was the first game that I remember with a level editor, and both myself and a friend had each made a substantial collection of levels for it (50+ each I think).

Back in the mid-eighties, computer games were much simpler. This was pretty much a necessity of course because the computer power to do anything complicated (like 3D graphics) was either hideously expensive or not available altogether. Thus, games that were complicated tended to be text-based. Graphical games were pretty much limited to arcade-type games, and Lode Runner is no exception.

(I'm assuming that played PyRunner prior to reading this, so even if you weren't familiar with Lode Runner you at least have a fairly good idea of what it was like.)

Actually, Lode Runner was much simpler than PyRunner. Many of PyRunner's features come to it by way of a game called Infiltrator. Infiltrator was itself a Lode Runner clone written by a local BBSer. It introduced several interesting additions and served as a great bit of nostalgia gaming for me in my late teens.

Among other things, Lode Runner did not have wrapping, multiple stages, and false items other than regular floors. I'm not sure, but I don't believe Lode Runner even had one-way gates, switches, and poles. The exit was always at the top, and when all the gold was collected only ladders could appear.

Lode Runner's blend of arcade action with a not insignifcant amount of strategy and thinking made it extremely fun an addictive, and it still is even today.

What Lode Runner also had that made it somewhat unique at the time was a level editor. It was built into the program and allowed you to visually create levels and save them to disk. Not only that, but you could save many levels to the same disk and put them in sequence, effectively creating a whole new Lode Runner "adventure" (which even had separate high scores).

Infiltrator added virtually unlimited enemies, changing graphic sets, one-way gates, switches, and polls (I think), and lots more. It added two-stage play, although I can only recall this ever being used on one of the 50 levels; the rest of the time there was just one-stage with possible bonus treasure.

As a shareware game, Infiltrator had no level editor, and being a nostalgia item for me I was never compelled enough to register the game to get the editor. So that was the extent of my enjoyment out of Lode Runner and Infiltrator, and I didn't often think of either very much.

However, that all changed when I found pygame. One of the first independent pygame games, Twitch, had graphics that for some reason reminded me a LOT of Lode Runner, even though Twitch is nothing close to a similar game. I guess it's one of those freak memory triggers, like seeing a shape in a cloud.

So, like I said, I wanted to do a small project with pygame to learn it, so having had the freak memory of Lode Runner come back to me, it seemed like a great idea for that project, and PyRunner was born. The choice of name was fairly obvious; we already have pygame, Pygris (a Tetris clone), PyUI (a graphical interface package), etc. so PyRunner was the next logical step.

While working on PyRunner I got kind of carried away, thus turning a 5-day project into a three-week one. I came up with the ideas for wrapping worlds, false anythings, exits, and a few others. But hey, like I said, learning projects should be useful, and PyRunner wouldn't be very useful if it was a 100% knock-off of either of its predecessors!

I had a lot of fun working on PyRunner. I got to revive some good memories from my childhood, learn pygame, and now I've got a fun little distraction (as if I needed another one) to fool around with!


Copyright 2001 Last Modified: Jun. 16, 2001 Paul Sidorsky